-- ========================================================
-- @File	: dispatch.lua
-- @Brief	: CallScript协议的分发处理
-- @Author	: Leo Zhao
-- @Date	: 2017-04-12
-- ========================================================
Dispatch = Dispatch or {};

-- 协议入口
function Dispatch.ProcServerCmd(sTable, sFunc, sParam)
	local t = nil;

	if not sTable or #sTable == 0 then t = _G;
	else t = _G[sTable] end;

	if type(t) ~= 'table' or type(t[sFunc]) ~= 'function' then
		return print_err('Center call script error!', sTable, sFunc, sParam);
	end

	t[sFunc](t, json.decode(sParam));
end

-- 协议入口
function Dispatch.ProcClientCmd(sCmd, sParam)
	local f = c2s[sCmd];
	
	if type(f) ~= 'function' then
		return print_err('Client call script error!', sCmd, sParam);
	end

	f(json.decode(sParam));
end